package com.lxk.service;

import com.lxk.pojo.Coupon;
import com.lxk.pojo.Tem;
import com.lxk.vo.CouponInfoModel;
import com.lxk.vo.CouponShowModel;
import com.lxk.vo.PageModel;

import java.util.List;

/**
 * @author JohnSoybean
 * @create 2020/4/8 16:24
 * @description
 */
public interface CouponService {

    /**
     * 获取卡券模板总页数
     * @param num
     * @return
     */
    Integer getTemTotalPages(Integer num);

    /**
     * 获取卡券模板分页
     * @param pageIndex
     * @param num
     * @param totalPages
     * @param sort
     * @param order
     * @return
     */
    PageModel<Tem> selTemPage(Integer pageIndex, Integer num, Integer totalPages, Integer sort, Integer order);


    /**
     * 获取卡券模板总页数
     * @param num
     * @return
     */
    Integer getCouponTotalPages(Integer num);

    /**
     * 获取卡券模板分页
     * @param pageIndex
     * @param num
     * @param totalPages
     * @param sort
     * @param order
     * @return
     */
    PageModel<CouponShowModel> selCouponPage(Integer pageIndex, Integer num, Integer totalPages, Integer sort, Integer order);


    /**
     * 新增优惠券模板
     * @param tem
     * @return
     */
    void addNewTem(Tem tem);

    /**
     * 更新优惠券模板
     * @param temId
     */
    void updTem(Tem tem);

    /**
     * 删除优惠券模板
     * @param temId
     */
    void deleteTem(Integer temId);

    /**
     * 发放优惠券
     * @param temId
     */
    Integer generateCoupon(Integer temId);

    /**
     * 按id查找优惠券
     * @param temId
     * @return
     */
    Coupon selCouponById(Integer couponId);

    /**
     * 按id查找优惠券模板
     * @param temId
     * @return
     */
    Tem selTemById(Integer temId);

    /**
     * 个人页面展示所有可用优惠券
     * @param wxUserId
     * @return
     */
    List<CouponInfoModel> getAllAvailCoupon(Integer wxUserId);

}
